package com.simple.system.service;


import com.simple.system.domain.dto.AddSysDeptDto;
import com.simple.system.domain.vo.SysDeptDetailsVo;
import com.simple.system.domain.vo.SysListDeptVo;

import java.util.List;

/**
 * @Description 部门表(SysDept)表服务接口
 * @Author xiaoke
 * @Date 2024/8/10 18:00
 * @Version 1.0
 */
public interface SysDeptService {

    /**
     * 获取部门结构树
     * @return List<SysListDeptVo>
     */
    List<SysListDeptVo> listDeptTree();

    /**
     * 获取部门详情
     * @param id 部门Id
     * @return SysDeptDetailsVo
     */
    SysDeptDetailsVo get(Long id);

    /**
     * 新增部门
     * @param dto 新增参数
     * @return 部门Id
     */
    Long create(AddSysDeptDto dto);

    /**
     * 修改部门
     * @param id 部门ID
     * @param dto 修改参数
     */
    void update(Long id,AddSysDeptDto dto);

    /**
     * 删除部门
     * @param id 部门ID
     */
    void delete(Long id);
}

